home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 19
/
Amiga Format CD19 (1997-10-02)(Future Publishing)(GB)(Track 1 of 5)[!][issue 1997-11].iso
/
-seriously_amiga-
/
shareware
/
comms
/
other
/
aminetftp
/
aminetftp.yam
< prev
Wrap
Text File
|
1997-08-18
|
6KB
|
197 lines
/* $VER: AminetRct.yam 39.1.1 (21 JUL 97)
** by Charles Patterson <midian@azstarnet.com>
** http://www.azstarnet.com/~midian
**
** Description: This script finds your "Today's Aminet Upload" email in
** YAM, lists the files so you can choose which ones you want to
** download, then uses AmFTP to download the selected files.
**
** Requirements: YAM 1.3.4 (© 1995-96 Marcel Beck)
** TCP/IP Stack
** rexxreqtools.library 1.3 (© 1992-94 Rafael D'Halleweyn)
** AmFTP 1.75 (© 1995-97 Mathias Michler)
**
** Instructions: Send email to listproc@mail.wustl.edu with the body:
** SUBSCRIBE aminet-daily Your Name
** or SUBSCRIBE aminet-weekly Your Name
** Copy this file to YAM:Rexx/
** Open the YAM:.config file and add this line:
** RexxMenu1 = YAM:Rexx/AminetFTP.yam
** Change the AMFTP, AMINET and LOCALDIR settings in script
** Download your email then run this script from the YAM
** ARexx menu.
**
** --- Path to run AmFTP: --- */
AMFTP="DH2:Applications/AmFTP/AmFTP"
/* --- Local Aminet Site: --- */
AMINET="wuarchive.wustl.edu"
/* --- Local directory Site: --- */
LOCALDIR="DH2:Lookat"
today = "Today's Aminet "
weekly = "This week's Ami"
OPTIONS RESULTS
IF ~SHOW('L','rexxsupport.library') THEN
ADDLIB('rexxsupport.library',0,-30,0)
IF ~SHOW('L','rexxreqtools.library') THEN
ADDLIB('rexxreqtools.library',0,-30,0)
NL = '0A'x
ADDRESS YAM
GETFOLDERINFO MAX
IF RESULT=0 THEN
DO
RTEZREQUEST('No email in folder!')
EXIT
END
lfi = 0
t = 0
checkn = 0
filename. = ''
GETMAILINFO SUBJECT
sub = LEFT(RESULT,15)
IF sub = today | sub = weekly THEN
DO
RTEZREQUEST("List files in:","_Selected|_Other")
lfi = rtresult
END
IF lfi THEN
DO
t = 1
GETMAILINFO FILE
filename.1 = RESULT
END
ELSE
DO
RTEZREQUEST("Do you wish to check","_Today's|_Week's|All _dailys|All w_eeklys|_All|_Cancel")
checkn = rtresult
IF checkn = 0 THEN EXIT
IF checkn = 1 | checkn = 3 THEN check = today
IF checkn = 2 | checkn = 4 THEN check = weekly
GETFOLDERINFO MAX
entries = RESULT
DO n = entries-1 TO 0 BY -1
SETMAIL n
GETMAILINFO SUBJECT
sub = LEFT(RESULT,15)
IF checkn = 5 THEN
DO
IF sub = today | sub = weekly THEN
DO
t = t + 1
GETMAILINFO FILE
filename.t = RESULT
END
END
ELSE
IF sub = check THEN
DO
t = t + 1
GETMAILINFO FILE
filename.t = RESULT
END
END
END
IF t = 0 THEN
DO
RTEZREQUEST("Aminet Uploads email not found!")
EXIT
END
IF checkn < 3 THEN t = 1
DO mail = 1 to t
line. = ''
ADDRESS COMMAND 'COPY 'filename.mail' TO T:FTPMail.rct'
OPEN('recent','T:FTPMail.rct','R')
DO UNTIL LEFT(READLN('recent'),3) = '|--'
END
i=0
DO WHILE ~EOF('recent')
i=i+1
line.i=READLN('recent')
IF LEFT(line.i,1) = '|' THEN BREAK
END
CLOSE('recent')
i = i-1
c = 0
w = i%5
IF i//5 >0 THEN w = w + 1
DO n = 1 to w
DO f = n*5-4 to n*5
PARSE VAR line.f file.f dir.f line.f
file.f = LEFT(file.f,18,' ')
dir.f = LEFT(dir.f,9,' ')
k = INDEX(line.f,'+')
line.f = DELSTR(line.f,1,k)
line.f = LEFT(line.f,42)
END
w = f-5 ; x = f-4 ; y = f-3 ; z = f-2 ; r = f-1
input = RTGETSTRING(,w'. 'file.w' 'dir.w' 'line.w||NL||x'. 'file.x' 'dir.x' 'line.x||NL||y'. 'file.y' 'dir.y' 'line.y||NL||z'. 'file.z' 'dir.z' 'line.z||NL||r'. 'file.r' 'dir.r' 'line.r,'Enter filenumbers (ie. 1 2 5)','_Ok|_Finished|_Cancel')
IF rtresult = 2 THEN BREAK
DO WHILE input ~= ''
c = c+1
PARSE VAR input filenum.c input
j = filenum.c
IF STRIP(file.j) = '' THEN c = c-1
END
END
close = 0
IF c > 0 THEN
DO
RTEZREQUEST("Do you want each file's .readme as well?","_Yes|_No")
read = rtresult
IF ~SHOW('P',AMFTP.1) THEN
DO
ADDRESS COMMAND RUN AMFTP
ADDRESS COMMAND WAITFORPORT AMFTP.1
close=1
END
ADDRESS 'AMFTP.1'
CALL OPENPORT("AMFTP-RESULT.1")
CHANGELOCALDIR LOCALDIR
CONNECTHOST AMINET
WAITACTION "AMFTP-RESULT.1"
CALL WAITPKT "AMFTP-RESULT.1"
DO mc = 1 to c
d = filenum.mc
dir = STRIP(dir.d)
file = "/pub/aminet/"dir"/"file.d
RECEIVE file
WAITACTION "AMFTP-RESULT.1"
CALL WAITPKT "AMFTP-RESULT.1"
IF read THEN
DO
lgt = LENGTH(COMPRESS(file))-3
filer = LEFT(file,lgt)||"readme"
RECEIVE filer
WAITACTION "AMFTP-RESULT.1"
CALL WAITPKT "AMFTP-RESULT.1"
END
END
'CLOSE'
CALL CLOSEPORT "AMFTP-RESULT.1"
IF close THEN QUIT
END
END
ADDRESS COMMAND 'DELETE T:FTPMail.*'
EXIT